osdWindow: Take per-monitor information in show and add showAll, showOne
The current API only supports showing an OSD on all monitors or on one
monitor. This change makes it possible to show the OSD on any
combination of monitors while providing simpler functions for the common
usages.
It still retains the single-event character and cancels previous OSDs on
unaffected monitors.
We will require this for the screen brightness keyboard shortcuts in the
future.